\section{Modelo estático}
	A continuación, vamos a describir el modelo estático del sistema, es decir, los tipos de
	objetos y las asociaciones entre tipos de objetos que componen el estado del
	sistema y que se han identificado durante el desarrollo del mismo.

	\subsection{Diagrama del modelo estático}
		\begin{figure}[H]
			\centering
			\includegraphics[width=\textwidth]{../media/staticmodel.png}
			\caption{Diagrama del modelo estático}
		\end{figure}

	\subsection{Tipos abstractos de objetos}
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightBlue} \textbf{TYP-0001} & \textbf{Usuario Normal}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Este tipo abstracto de objetos representa a cualquier usuario del sistema, esté registrado o no.\\
			\hline
			\end{tabularx}
			\caption{Tipo asbtracto de objetos \textit{Usuario Normal}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightBlue} \textbf{TYP-0002} & \textbf{Usuario Registrado}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Este tipo abstracto de objetos representa a cualquier usuario registrado en el sistema.\\
			\hline
			Atributos &
				\begin{itemize2}
					\item \texttt{id} (\textit{string}): Identificador único del usuario
					\item \texttt{habilitado} (\textit{boolean}): Indica si el usuario puede hacer uso del sistema
					\item \texttt{contraseña} (\textit{string}): Contraseña del usuario
					\item \texttt{nombre} (\textit{string}): Nombre completo del usuario
					\item \texttt{email} (\textit{string}): Dirección de correo electrónico del usuario
				\end{itemize2}\\
			\hline
			\end{tabularx}
			\caption{Tipo asbtracto de objetos \textit{Usuario Registrado}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightBlue} \textbf{TYP-0003} & \textbf{Radar}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Este tipo abstracto de objetos representa a cualquier dispositivo Radar del sistema pero también
			al usuario registrado que tiene asociado para comunicarse con el Servidor.\\
			\hline
			\end{tabularx}
			\caption{Tipo asbtracto de objetos \textit{Radar}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightBlue} \textbf{TYP-0004} & \textbf{Administrador}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Este tipo abstracto de objetos representa al usuario Administrador del sistema,
			el cual gestiona todos los demás usuarios, todos los servicios, todos los Radares y la configuración
			del sistema.\\
			\hline
			\end{tabularx}
			\caption{Tipo asbtracto de objetos \textit{Administrador}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightBlue} \textbf{TYP-0005} & \textbf{Grupo de Usuarios}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Este tipo abstracto de objetos representa a cualquier grupo de usuarios registrados.\\
			\hline
			Atributos &
				\begin{itemize2}
					\item \texttt{id} (\textit{string}): Identificador único del grupo
					\item \texttt{nombre} (\textit{string}): Nombre del grupo
				\end{itemize2}\\
			\hline
			\end{tabularx}
			\caption{Tipo asbtracto de objetos \textit{Grupo de Usuarios}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightBlue} \textbf{TYP-0006} & \textbf{Servicio}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Este tipo abstracto de objetos representa a cualquier servicio existente en el sistema.\\
			\hline
			Atributos &
				\begin{itemize2}
					\item \texttt{id} (\textit{string}): Identificador único del servicio
					\item \texttt{nombre} (\textit{string}): Nombre del servicio
					\item \texttt{versión} (\textit{string}): Versión del servicio
					\item \texttt{autor} (\textit{string}): Autor del servicio
					\item \texttt{rutaArchivo} (\textit{string}): Ruta del archivo con el código Python del servicio
					\item \texttt{habilitado} (\textit{boolean}): Indica si el servicio está disponible para los usuarios
				\end{itemize2}\\
			\hline
			\end{tabularx}
			\caption{Tipo asbtracto de objetos \textit{Servicio}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightBlue} \textbf{TYP-0007} & \textbf{Servicio Llamable}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Este tipo abstracto de objetos representa a cualquier servicio llamable existente en el sistema.
			Estos servicios son los que son ejecutados cuando un usuario determinado lo solicita.\\
			\hline
			Atributos &
				\begin{itemize2}
					\item \texttt{requiereAutentificación} (\textit{boolean}): Indica si el servicio requiere la autentificación
					del usuario que solicite su ejecución, en cuyo caso, el usuario tiene que proporcionar al sistema
					su identificador y su contraseña.
				\end{itemize2}\\
			\hline
			\end{tabularx}
			\caption{Tipo asbtracto de objetos \textit{Servicio Llamable}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightBlue} \textbf{TYP-0008} & \textbf{Servicio Automático}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Este tipo abstracto de objetos representa a cualquier servicio automático existente en el sistema.
			Estos servicios son los que son ejecutados automáticamente por el sistema, cuando alguno de los Radares han
			detectado dispositivos y enviado sus identificadores al Servidor.\\
			\hline
			\end{tabularx}
			\caption{Tipo asbtracto de objetos \textit{Servicio Automático}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightBlue} \textbf{TYP-0009} & \textbf{Tipo de Radar}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Este tipo abstracto de objetos representa los tipos de Radares (como dispositivo) que
			soporta el sistema. Cada dispositivo detectado o almacenado en el sistema debe tener asociado un
			tipo de Radar.\\
			\hline
			Atributos &
				\begin{itemize2}
					\item \texttt{id} (\textit{string}): Identificador único del tipo
					\item \texttt{nombre} (\textit{string}): Nombre del tipo
				\end{itemize2}\\
			\hline
			\end{tabularx}
			\caption{Tipo asbtracto de objetos \textit{Tipo de Radar}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightBlue} \textbf{TYP-0010} & \textbf{Dispositivo}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Este tipo abstracto de objetos representa los dispositivos que el sistema
			puede detectar o almacenar asociándolos a uno o más usuarios.
			Cada dispositivo tiene asociado un Tipo de D	ispositivo.\\
			\hline
			Atributos &
				\begin{itemize2}
					\item \texttt{id} (\textit{string}): Identificador único del dispositivo
				\end{itemize2}\\
			\hline
			\end{tabularx}
			\caption{Tipo asbtracto de objetos \textit{Dispositivo}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightBlue} \textbf{TYP-0011} & \textbf{Tipo de Dispositivo}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Este tipo abstracto de objetos representa los tipos de dispositivos que
			que el sistema es capaz de detectar y almacenar.\\
			\hline
			Atributos &
				\begin{itemize2}
					\item \texttt{id} (\textit{string}): Identificador único del tipo
					\item \texttt{nombre} (\textit{string}): Nombre del tipo
				\end{itemize2}\\
			\hline
			\end{tabularx}
			\caption{Tipo asbtracto de objetos \textit{Tipo de Dispositivo}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightBlue} \textbf{TYP-0012} & \textbf{Servidor}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Este tipo abstracto de objetos representa al Servidor.
			El Servidor es el componente principal del sistema, encargado de ejecutar
			los servicios automáticos y gestionar la información del sistema.\\
			\hline
			Atributos &
				\begin{itemize2}
					\item \texttt{id} (\textit{string}): Identificador del Servidor
					\item \texttt{nombre} (\textit{string}): Nombre del Servidor
				\end{itemize2}\\
			\hline
			\end{tabularx}
			\caption{Tipo asbtracto de objetos \textit{Servidor}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightBlue} \textbf{TYP-0013} & \textbf{Configuración}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Este tipo abstracto de objetos representa la configuración
			del sistema. Es gestionada exclusivamente por el Servidor, a través de su
			usuario Administrador.\\
			\hline
			Atributos &
				\begin{itemize2}
					\item \texttt{tipoBD} (\textit{string}): Tipo del host de la base de datos (por ejemplo: "mysql")
					\item \texttt{hostBD} (\textit{string}): Host de la base de datos (por ejemplo: "http://localhost")
					\item \texttt{puertoBD} (\textit{integer}): Puerto del host de la base de datos
					\item \texttt{nombreBD} (\textit{string}): Nombre de la base de datos
					\item \texttt{usuarioBD} (\textit{string}): Identificador del usuario con el que identificarse en el host de la base de datos
					\item \texttt{contraseñaBD} (\textit{string}): Contraseña del usuario con el que identificarse en el host de la base de datos
					\item \texttt{hostServicioWeb} (\textit{string}): Host del servicio web de acceso a servicios del sistema que se lanzará
					cuando el sistema esté listo (por ejemplo: "http://localhost")
					\item puertoServicioWeb (\textit{integer}): Puerto que usará el servicio web de acceso a servicios del sistema que se 
					lanzará cuando el sistema esté listo
				\end{itemize2}\\
			\hline
			\end{tabularx}
			\caption{Tipo asbtracto de objetos \textit{Configuración}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightBlue} \textbf{TYP-0014} & \textbf{Servicio Web de Acceso a Servicios}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Este tipo abstracto de objetos representa al Servicio Web de Acceso a Servicios,
			contenido en el Servidor. Los usuarios ejecutan los Servicios Llamables a través de este servicio
			web, llamando a una función en la que especifican el servicio que quieren ejecutar, los parámtros
			de entrada que quieren establecer para el servicio y, en su caso, su identificador de usuario
			y su contraseña.\\
			\hline
			\end{tabularx}
			\caption{Tipo asbtracto de objetos \textit{Servicio Web de Acceso a Servicios}}
		\end{table}
		
	\subsection{Asociaciones}
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0001} & \textbf{\textit{Servidor gestiona Configuración}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que el Servidor es el encargado de leer y modificar la configuración.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Servidor gestiona Configuración}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0002} & \textbf{\textit{Servidor contiene Servicio Web de Acceso a Servicios}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que el Servidor es quien contiene al Servicio Web de Acceso a Servicios.
			El Servidor es el encargado de lanzar dicho servicio web.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Servidor contiene Servicio Web de Acceso a Servicios}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0003} & \textbf{\textit{Servidor gestiona Grupo de Usuarios}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que el Servidor es quien crea, modifica y borra los grupos a los que
			pueden pertenecer los distintos usuarios registrados.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Servidor gestiona Grupo de Usuarios}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0004} & \textbf{\textit{Servidor gestiona Usuario Registrado}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que el Servidor es quien crea, modifica y borra los usuarios registrados
			en el sistema.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Servidor gestiona Usuario Registrado}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0005} & \textbf{\textit{Servidor gestiona Servicio}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que el Servidor es quien crea, modifica y borra los servicios existentes
			en el sistema.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Servidor gestiona Servicio}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0006} & \textbf{\textit{Servidor ejecuta Servicio Automático}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que el Servidor es quien se encarga de ejecutar los servicios automáticos
			del sistema, una vez que alguno de los Radares ha efectuado alguna detección de dispositivos y le ha enviado los
			identificadores de dichos dispositivos.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Servidor ejecuta Servicio Automático}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0007} & \textbf{\textit{Servidor gestiona Tipo de Dispositivo}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que el Servidor es quien crea, modifica y borra los tipos de dispositivos
			que el sistema es capaz de detectar y almacenar.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Servidor gestiona Tipo de Dispositivo}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0008} & \textbf{\textit{Servidor gestiona Tipo de Radar}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que el Servidor es quien crea, modifica y borra los tipos de Radares
			que con los que el sistema es capaz de asociarse.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Servidor gestiona Tipo de Radar}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0009} & \textbf{\textit{Servidor gestiona Radar}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que el Servidor es quien controla los distintos dispositivos Radares 
			del sistema.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Servidor gestiona Radar}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0010} & \textbf{\textit{Administrador gestiona Servidor}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que el usuario Administrador es el único que gestiona
			el Servidor, gestionando así el sistema en general.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Administrador gestiona Servidor}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0011} & \textbf{\textit{Radar pertenece a Tipo de Radar}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que cada Radar es de un tipo determinado y el sistema debe conocer
			dicho tipo.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Radar pertenece a Tipo de Radar}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0012} & \textbf{\textit{Radar detecta Dispositivo}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que cada Radar es capaz de detectar dispositivos de un determinado
			tipo.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Radar detecta Dispositivo}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0013} & \textbf{\textit{Dispositivo pertenece a Tipo de Dispositivo}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que cada dispositivo detectado o almacenado por el sistema es de un determinado
			tipo y el sistema debe conocerlo.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Dispositivo pertenece a Tipo de Dispositivo}}
		\end{table}
		
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0014} & \textbf{\textit{Usuario Registrado pertenece a Grupo de Usuarios}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que cada usuario registrado en el sistema pertenece necesariamente a
			alguno de los grupos de usuarios del sistema.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Usuario Registrado pertenece a Grupo de Usuarios}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0015} & \textbf{\textit{Usuario Normal tiene Dispositivo}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que cada usuario puede tener 1 ó más dispositivos asociados.
			Entre otras cosas, sirve para saber a qué usuario corresponde un cierto dispositivo cuando éste último
			es detectado por el sistema.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Usuario Normal tiene Dispositivo}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0016} & \textbf{\textit{Usuario Normal accede a Servicio Web de Acceso a Servicios}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que la forma de que los usuarios ejecuten los servicios llamables del sistema
			sea a través del Servicio Web de Acceso a Servicios. Esto lo hacen llamando a una función concreta de dicho servicio
			web en la que especifican, por medio de sus parámetros de entrada, qué servicio quieren ejecutar y con qué argumentos.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Usuario Normal accede a Servicio Web de Acceso a Servicios}}
		\end{table}
		
		\begin{table}[H]
			\centering
			\begin{tabularx}{\textwidth}{|l|X|}
			\hline
			\rowcolor{LightGreen} \textbf{ASO-0017} & \textbf{\textit{Servicio Web de Acceso a Servicios ejecuta Servicio Llamable}}\\
			\hline
			Versión & 1.0 (15/03/2011)\\
			\hline
			Descripción & Esta asociación establece que el único que realmente ordena al sistema ejecutar los servicios llamables 
			es el Servicio Web de Acceso a Servicios.\\
			\hline
			\end{tabularx}
			\caption{Asociación de tipos asbtractos de objetos \textit{Servicio Web de Acceso a Servicios ejecuta Servicio Llamable}}
		\end{table}
